#!/usr/bin/python3
# _*_ coding: utf-8 _*_
#
# Copyright (C) 2024 - 2024 heihieyouheihei, Inc. All Rights Reserved 
#
# @Time    : 2024/9/9 17:17
# @Author  : Yuyun
# @File    : 跳跃游戏_能否到达.py
# @IDE     : PyCharm

"""
给定一个非负整数数组，你最初位于数组的第一个位置。
数组中的每个元素代表你在该位置可以跳跃的最大长度。
判断你是否能够到达最后一个位置。

示例  1:
输入: [2,3,1,1,4]
输出: true
解释: 我们可以先跳 1 步，从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。
示例  2:
输入: [3,2,1,0,4]
输出: false
解释: 无论怎样，你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 ， 所以你永远不可能到达最后一个位置。

"""
class Solution:
    """
    贪心解法
    局部最优：每次取最大跳跃步数（取最大覆盖范围）
    全体最优：最后得到整体最大覆盖范围，看是否能到终点
    """
    def jump_game(self, nums):
        length = len(nums)
        cover = 0
        if length == 1:
            return True
        for i in range(length):
            if i <= cover:
                #   计算覆盖范围
                cover = max(i + nums[i], cover)
                #   可以覆盖终点
                if cover >= length - 1:
                    return True
        return False

if __name__ == "__main__":
    nums = list(map(int, input().split(',')))
    solution = Solution()
    result = solution.jump_game(nums)
    print(result)